/*
 * DIM-SUM操作系统 - PSCI，用于多核启动
 *
 * Copyright (C) 2017 谢宝友
 *
 * 作者: Baoyou Xie <baoyou.xie@aliyun.com>
 * 			Dong Peng <w-pengdong@kernelsoft.com>
 *
 * License terms: GNU General Public License (GPL) version 3
 *
 */
#ifndef __ASM_PSCI_H
#define __ASM_PSCI_H

#ifndef CONFIG_ARM64_PSCI_SMC
#include <uapi/dim-sum/psci.h>
#include <dim-sum/reboot.h>
/**
 * 启动从核时需要调用
 */
unsigned long __invoke_psci_fn_hvc(unsigned long function_id, 
				unsigned long arg0, unsigned long arg1, unsigned long arg2);
void psci_sys_reset(enum reboot_mode reboot_mode, const char *cmd);
void psci_sys_poweroff(void);
#else
unsigned long __invoke_psci_fn_smc(unsigned long function_id, 
				unsigned long arg0, unsigned long arg1, unsigned long arg2);
#endif
#endif /* __ASM_PSCI_H */
